package br.org.espmessenger.modelo;

import javax.persistence.CascadeType;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

@Entity
@DiscriminatorValue("cvt")
public class MensagemConvite extends Mensagem {
	private static final long serialVersionUID = 1L;

	private Usuario convidado;
	private Situacao situacao;
	
	public MensagemConvite() {}

	@ManyToOne(cascade=CascadeType.ALL)
	@JoinColumn(name="id_usuario_convidado")
	public Usuario getConvidado() {
		return convidado;
	}

	public void setConvidado(Usuario convidado) {
		this.convidado = convidado;
	}
	@Enumerated(EnumType.STRING)
	public Situacao getSituacao() {
		return situacao;
	}

	public void setSituacao(Situacao situacao) {
		this.situacao = situacao;
	}

	@Override
	protected boolean equalsEspecifico(Mensagem m) {
		if (convidado == null) return false;
		return convidado.equals(((MensagemConvite)m).convidado);
	}

	@Override
	protected int hashCodeEspecifico() {
		return (convidado == null) ? 0 : convidado.hashCode();
	}
	
	
}
